"""
import jsonschema
jsonschema.validate(实际结果的字典内容， schema校验规则的字典数据)
jsonschema.validate(instance, schema)
- instance： 要验证的JSON数据
- schema： 用于校验JSON数据的验证规则


需求： 测试ihrm登录接口-登录成功
要求： 全量校验接口返回结果（ data字段为字符串， 其他字段进行值匹配）
"""

import unittest
import jsonschema
import requests


class TestLogin(unittest.TestCase):
    def test_login(self):
        body = {
            "mobile": "13800000002",
            "password": "123456"
        }

        resp = requests.post('http://ihrm-test.itheima.net/api/sys/login', json=body)
        resp_data = resp.json()

        schema = {
            "type": "object",
            "properties": {
                "success": {
                    "type": "boolean",
                    "const": True
                },
                "code": {
                    "type": "integer",
                    "const": 10000
                },
                "message": {
                    "pattern": "成功"
                },
                "data": {
                    "type": "string"
                }
            },
            "required": [
                "success",
                "code",
                "message",
                "data"
            ]
        }

        jsonschema.validate(resp_data, schema)
